home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / cross / fast05.lha / Example / vardec.asm < prev    next >
Assembly Source File  |  1997-02-17  |  5KB  |  185 lines

  1. *********************************************************
  2. *                            *
  3. *                Clock Example                *
  4. *                            *
  5. *********************************************************
  6. *********************************************************
  7. *                            *
  8. * Author         John Salmon                *
  9. * Revision       0.2                    *
  10. * Date           Oct 1996                *
  11. * Copyright     Hot Chips                *
  12. *                            *
  13. *********************************************************
  14.  
  15. *********************************************************
  16. *                            *
  17. * note:   !^ is a clock dependent variable        *
  18. *         !% is a temp test code location        *
  19. *         !# is a buffer size variable            *
  20. *         !- C4 C8 C9 processor                *
  21. *         !@ not yet implemented            *
  22. *                            *
  23. *********************************************************
  24.  
  25. *********************************************************
  26. *                            *
  27. *               VARIABLE DECLARATIONS                   * 
  28. *                            *
  29. * Note: Page 0 variables declared thus -  Variable    *
  30. *       Constants declared thus        -  CONSTANT    *
  31. *       Bit Fields declared thus       -  FieldBIT    *
  32. *                            *
  33. *********************************************************
  34.  
  35. *********************************************************
  36. *                On Chip Registers            *
  37. *********************************************************
  38.  
  39. * Hardware Ports
  40. PtAData        $00    ; Port A
  41. PtBData        $01    ; Port B
  42. PtCData        $02    ; Port C
  43. PtDData        $03    ; Port D
  44.  
  45. PtADir        $04    ; Port A data dir
  46. PtBDir        $05    ; Port A data dir
  47. PtCDir        $06    ; Port C data dir C9 chips only
  48. PtDDir        $07    ; Port D data dir C9 chips only
  49.  
  50. Spcr        $0A    ; Control Reg
  51. SpiSPR0        $0A.0    ;  clock rate 0
  52. SpiSPR1        $0A.1    ;  clock rate 1
  53. SpiCPHA        $0A.2    ;  clock phase
  54. SpiCPOL        $0A.3    ;  clock polarity
  55. SpiMSTR        $0A.4    ;  master mode
  56. SpiSPE        $0A.6    ;  SPI enable
  57. SpiSPIE        $0A.7    ;  interupt enable
  58. Spsr        $0B    ;
  59. SpiMODF        $0B.4    ; mode fault
  60. SpiWCOL        $0B.6    ; write collision
  61. SpiSPIF        $0B.7    ; transfer complete
  62. Spdr        $0C    ;
  63.  
  64. * Serial Communications Interface
  65. Baud        $0D    ; baud rate
  66. Sccr1        $0E    ; control reg 1
  67. ScR8        $0E.7    ;   recieve data bit 8
  68. ScT8        $0E.6    ;   transmit data bit 8
  69. ScWLEN        $0E.4    ;   word length
  70. ScWAKE        $0E.3    ;   wake up select
  71. Sccr2        $0F    ; control reg 2
  72. ScTIE        $0F.7    ;   transmit interupt enable
  73. ScTCIE        $0F.6    ;   transmit complete interupt enable
  74. ScRIE        $0F.5    ;   reciever interupt enable
  75. ScILIE        $0F.4    ;   idle line interupt enable
  76. ScTE        $0F.3    ;   transmitter enable
  77. ScRE        $0F.2    ;   reciever enable
  78. ScRWU        $0F.1    ;   reciever wake up
  79. ScSBK        $0F.0    ;   send break
  80.  
  81. Scsr        $10    ; status register
  82. ScTDRE        $10.7    ;   transmit data reg empty
  83. ScTC        $10.6    ;   transmit complete
  84. ScRDRF        $10.5    ;   reciever data reg full
  85. ScIDLE        $10.4    ;   idle line detect
  86. ScOR        $10.3    ;   overrun
  87. ScNF        $10.2    ;   noise
  88. ScFE        $10.1    ;   framing error
  89.  
  90. Scdr        $11    ; data register 
  91.  
  92. * Timer System
  93. Tcr        $12    ; control
  94. TcrOLVL        $12.0    ;  output level
  95. TcrIEDG        $12.1    ;  input edge
  96. TcrTOIE        $12.5    ;  timer overflow interupt enable
  97. TcrOCIE        $12.6    ;  output compare interupt enable
  98. TcrICIE        $12.7    ;  input capture interupt enable
  99. Tsr        $13    ; status
  100. TsrTOF        $13.5    ;  timer overflow flag
  101. TsrOCF        $13.6    ;  output compare flag
  102. TsrICF        $13.7    ;  input capture flag
  103. Icrh        $14    ; input capture hi
  104. Icrl        $15    ; input capture lo
  105. Ocrh        $16    ; output compare hi
  106. Ocrl        $17    ; output compare lo
  107. Trh        $18    ; timer register hi
  108. Trl        $19    ; timer register lo
  109. Atrh        $1A    ; alternate timer register hi
  110. Atrl        $1B    ; alternate timer register lo
  111.  
  112. * Computer Operating Properly -C8
  113. Coprst        $1D    ;
  114. Copcr        $1E    ;
  115. CopCOPE        $1E.2    ;
  116. CopCME        $1E.3    ;
  117. CopCOPF        $1E.4    ;
  118.  
  119. * Extra Registers
  120. RegA        $50    ; temporary register - non interupt
  121. RegB        $51    ; temporary register 2 - non interupt
  122. IntRegA        $52    ; temporary register - interupts
  123. IntRegB        $53    ; temporary register - interupts
  124.  
  125. * Real Time Debugger
  126.  
  127. COM_RD        #$FB    ; read memory
  128. COM_WR        #$FC    ; write memory
  129. COM_STP        #$FA    ; stop
  130. RPLY_OK        #$AA    ; ok reply
  131. RPLY_HS        #$F0    ; handshake
  132. OP_RTS        #$81    ; RTS opcode
  133. OP_LDA        #$D6    ; LDA $####,X opcode
  134. OP_STA        #$D7    ; STA $####,X opcode
  135.  
  136. DbgOpc        $54    ; opcode  --
  137. DbgAdHi        $55    ; address   | dont move
  138. DbgAdLo        $56    ;           | fixed @ $0054
  139. DbgRts        $57    ; return  --
  140. DbgCtx        $58    ; context switch
  141. DbgSz        $59    ; size
  142. DbgIdx        $5A    ; index
  143.  
  144. *********************************************************
  145. *           Default IO Port Configuration               *
  146. *********************************************************
  147.  
  148. PTADEF        #$00            ; port A XXXX 0000
  149. PTADIR        #$CF            ;        OOII OOOO
  150.  
  151. PTBDEF        #$00            ; port B XXXX XXXX
  152. PTBDIR        #$C0            ;        OOII IIII
  153.  
  154. PTCDEF        #$80            ; port C 1XXX XXXX
  155. PTCDIR        #$FF            ;        OOOO OOOO
  156.  
  157. PTDDEF        #$00            ; port D XXXX XXXX
  158. PTDDIR        #$00            ;        IIII IIII
  159.  
  160. *********************************************************
  161. *           Control Module Variables                    *
  162. *********************************************************
  163.  
  164. * Timer
  165. TmrCnt        $5B    ; timer event counter
  166. TmrLstH        $5C    ; last time hi for timer reload
  167. TmrLstL        $5D    ; last time lo
  168.  
  169. *********************************************************
  170. *           Clock Module Variables                      *
  171. *********************************************************
  172.  
  173. ClkInc        $74    ; interupt bump
  174. ClkTik        $75    ; tick    0..49 ( 1/50th sec)
  175. ClkSec        $76    ; seconds 0..59
  176. ClkMin        $77    ; minutes 0..59
  177. ClkHrs        $78    ; hours   0..24
  178. ClkDay        $79    ; day     1..31
  179. ClkMth        $7A    ; month   1..12
  180.  
  181. ClkFlgs        $7B    ; clock control flags
  182. ClkSEC        $7B.0    ;   second update
  183. ClkMIN        $7B.1    ;   minute update
  184.  
  185.